home *** CD-ROM | disk | FTP | other *** search
/ MacHack 2000 / MacHack 2000.toast / pc / The Hacks / Mac OS X Throbber / Source / MultiMonitorController.h < prev   
Encoding:
C/C++ Source or Header  |  2000-06-24  |  1.0 KB  |  70 lines

  1. #include <MacTypes.h>
  2. #include <Quickdraw.h>
  3. #include <QDOffscreen.h>
  4.  
  5. #include <LPeriodical.h>
  6. #include <Timer.h>
  7.  
  8. #include "GDeviceUtils.h"
  9.  
  10. typedef UInt32 MultiMonitorEffectT;
  11.  
  12. enum
  13. {
  14.     kMultiMonitorCount            = 1
  15. };
  16.  
  17. enum
  18. {
  19.     kEffectsTypeNormal            = 0,
  20.     kEffectsTypeThrob            = 1,
  21.     kEffectsTypeDontThrob        = 2
  22. };
  23.  
  24. class MultiMonitorController
  25. {
  26.     public:
  27.         MultiMonitorController();
  28.         
  29.         virtual
  30.         ~MultiMonitorController();
  31.         
  32.         static MultiMonitorController &
  33.         GetInstance()
  34.         {
  35.             return *sMMController;
  36.         }
  37.  
  38.         void
  39.         Enable();
  40.  
  41.         void
  42.         Disable();
  43.  
  44.         void
  45.         SetEffectsType(
  46.             MultiMonitorEffectT        inEffect);
  47.  
  48.         void
  49.         SetEffectsValue(
  50.             UInt32                    inValueIndex,
  51.             double                    inValue);
  52.  
  53.         static void
  54.         CursorTimer(
  55.             TMTaskPtr                 inTimerTaskPtr);
  56.         
  57.     private:
  58.         CapturedGDevice *                    mCapturedDevice;
  59.  
  60.         VirtualGDevice *                    mVirtualDevices[kMultiMonitorCount];
  61.         
  62.         MultiMonitorEffectT                    mEffectType;
  63.         
  64.         static MultiMonitorController *        sMMController;
  65.         static TMTask                        sTimerTask;
  66.         static TimerUPP                        sTimerRoutineDescriptor;
  67. };
  68.  
  69.  
  70.